Robots in laboratory settings may be incorporated into activities requiring precision operation within a work area or tool space. For example, a life sciences laboratory may include a robot having an extendable arm that moves payloads, such as plates or holders for laboratory samples, between instruments or stations. When such a robot is only able to extend radially from the center location, there is no danger of the robot colliding with obstacles, such as the instruments or stations, within the tool space, because each of the obstacles will have to be placed along a radial axis extending from the center location.
However, a robot having independent movement in various joints of an extendable arm, such as a wrist or elbow is able to move along non-radial paths. The independent movement increases the flexibility of the robot, and allows more instruments or stations to be placed throughout the tool space, at various locations without regard to whether they are located on a radial axis. The increased density and capability to move along arbitrary paths increases the chances of collisions between the robot and the various instruments and stations, as well as any other obstacles located with the tool space.
A robot having an extendable arm includes a “safe zone,” which is a predetermined location or area in which the robot is in no danger of colliding with itself or any obstacles within a full 360 degree waist rotation. After any movement outside the safe zone, the robot is configured to return to the safe zone, which may be accomplished according to a number of conventional techniques, all of which undesirably expose the robot to the possibility of collisions. That is, in typical transfer moves, the robot knows to return to the safe zone using a predetermined path. For example, one conventional technique radially pulls in the robot arm from its extended location in the tool space back to the safe zone. The radial pull-in provides a fast and smooth movement, but it is blind to potential collisions. The responsibility therefore falls on the system operator or user to ensure that the robot does not collide with any of the obstacles in the tool space when the pull-in command is issued, e.g., by manual intervention.
Another conventional technique moves the robot back to the safe zone through a series of incremental jog commands. In particular, the user visually estimates safe increments for each movement. However, jogging the robot is tedious and time consuming, and collisions may still occur when the visual estimations of the incremental movements are not accurate. Also, when the robot is in a zone where movements are particularly restricted due to potential collisions, then the jog command approach becomes particularly difficult to implement.
Yet another conventional technique involves placing the robot being in “limp mode,” which is typically used for manually guiding or training the robot through desired movements and recording the training movements for later use. When used for returning the robot to the safe zone, the limp mode enables the user to physically grasp the extendable arm of the robot at its location in the tool space and pull it towards the safe zone. However, manually guiding the robot around any obstacles to the safe zone is inefficient and labor intensive. Also, this technique may not be practical, for example, when the extendable arm is in a place in the tool space where it is not easily reachable by hand.